package com.dz51.module.systemparameter.dao.impl;

import java.util.List;

import javax.annotation.PostConstruct;

import org.springframework.stereotype.Repository;

import com.dz51.core.basedao.dao.impl.HibernateAbstractSupportDao;
import com.dz51.module.systemparameter.dao.ISystemParameterDao;
import com.dz51.module.systemparameter.pojo.SystemParameter;

/**
 * @Title: SystemParameterDaoImpl.java
 * @Package com.dz51.module.systemparameter.dao
 * @Description: 系统参数dao层实现
 * @author Zhaoqt
 * @date 2014-5-10 上午3:22:14
 * @version V1.0
 */
@Repository(value = "com.dz51.module.systemparameter.dao.impl.SystemParameterDaoImpl")
public class SystemParameterDaoImpl extends HibernateAbstractSupportDao<SystemParameter> implements ISystemParameterDao {

	@PostConstruct
	@Override
	public void setEC() throws Exception {
		super.setEntityClass(SystemParameter.class);
	}

	/**
	 * 获取全部系统参数
	 * 
	 * @Title: getAllSystemParameter
	 * @return List<SystemParameter>
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public List<SystemParameter> getAllSystemParameter() throws Exception {
		List<SystemParameter> resultList = this.find("from SystemParameter");
		return resultList;
	}

	/**
	 * 根据key获取指定系统参数
	 * 
	 * @Title: getSystemParameterByKey
	 * @param key
	 * @return SystemParameter
	 * @throws ExceptionSystemParameter
	 */
	@SuppressWarnings("unchecked")
	public SystemParameter getSystemParameterByKey(String key) throws Exception {
		List<SystemParameter> resultList = this.find("from SystemParameter where systemParameterName = ?", key);
		if (resultList != null && resultList.size() > 0) {
			return resultList.get(0);
		}
		return null;
	}

}
